<template>
  <div>
    <button @click="flag = !flag">点击显示和隐藏</button>

    <hr />

    <!-- vue提供的一个内置的标签  -->
    <transition name="chen">
      <h3 v-show="flag">这是根组件</h3>
    </transition>
  </div>
</template>

<script>
export default {
  data() {
    return {
      flag: true
    }
  }
}
</script>

<style lang="less" scoped>
button {
  margin: 20px;
}

h3 {
  background-color: #369;
  color: #fff;
  width: 210px;
  text-align: center;
  line-height: 58px;

  // 一上来就使用, 在vue中不好跟按钮进行配合
  // animation: zou 0.5s ease-in forwards;
}

@keyframes zou {
  to {
    transform: translateX(-400px);
  }
}

// 只要页面中拥有了 transition 标签，自动会生成一大堆的类名
.chen-leave-active {
  animation: zou 0.5s ease-in;
}

.chen-enter-active {
  animation: zou 0.5s ease-in reverse;
}
</style>
